সিএসএস (Cascading Style Sheets) হলো একটি স্টাইল শীট ভাষা, যা HTML বা XML এর মতো মার্কআপ ভাষায় লেখা ডকুমেন্টগুলোর লেআউট এবং ডিজাইনকে সাজানোর জন্য ব্যবহৃত হয়। সহজ ভাষায়, CSS ব্যবহার করে আপনি ওয়েবসাইটের লুক, লেআউট, এবং ভিজ্যুয়াল ইফেক্ট কাস্টমাইজ করতে পারেন। এটি HTML-এর কন্টেন্টকে প্রেজেন্টেবল এবং স্টাইলিশ করে তোলে।
CSS (Cascading Style Sheets) হলো একটি স্টাইলিং ভাষা, যা HTML বা XML (যেমন SVG, XHTML) ডকুমেন্টের লেআউট এবং প্রেজেন্টেশন কন্ট্রোল করতে ব্যবহৃত হয়। HTML দিয়ে ওয়েবপেজের কনটেন্ট বা কাঠামো তৈরি করা হয়, আর CSS দিয়ে সেই কনটেন্টের স্টাইল, লেআউট, এবং ডিজাইন নির্ধারণ করা হয়। CSS ওয়েব ডেভেলপারদের ফন্ট, কালার, মার্জিন, প্যাডিং, ব্যাকগ্রাউন্ড, বর্ডার ইত্যাদি স্টাইলিং বৈশিষ্ট্য সেট করতে সাহায্য করে।
CSS হলো Cascading অর্থাৎ একাধিক স্টাইল শীট একত্রে কাজ করতে পারে এবং কোনো কনফ্লিক্ট থাকলে প্রাধান্য নির্ধারণের নিয়ম অনুসরণ করে।
CSS প্রথমে ১৯৯৬ সালে Håkon Wium Lie এবং Bert Bos দ্বারা প্রস্তাবিত হয়েছিল এবং W3C (World Wide Web Consortium) এর দ্বারা স্ট্যান্ডার্ড হিসেবে গৃহীত হয়। HTML এর স্টাইলিং নিয়ন্ত্রণে HTML ট্যাগে স্টাইল ডিফাইন করা কিছুটা কঠিন হয়ে পড়েছিল, তাই CSS এর ধারণা আসে, যাতে কনটেন্ট এবং স্টাইল আলাদা রাখা যায়। CSS এর প্রথম সংস্করণ CSS1 হিসেবে প্রকাশিত হয়, আর বর্তমানে CSS3 ব্যবহার করা হচ্ছে, যা নতুন নতুন ফিচার সংযোজন করেছে।
স্টাইলিং এবং লেআউট কন্ট্রোল:
Responsive Design:
Flexbox এবং Grid Layout:
Animation and Transition:
@keyframes
এবং transition
প্রপার্টি ব্যবহার করে HTML এলিমেন্টগুলোর মধ্যে মসৃণ অ্যানিমেশন অ্যাড করা যায়।পেজের স্পিড এবং পারফরম্যান্স:
Cascading এবং Inheritance:
CSS এর কোড লেখা হয় সিলেক্টর (Selector) এবং ডিক্লারেশন ব্লক (Declaration Block) এর মাধ্যমে।
selector {
property: value;
}
h1 {
color: blue;
font-size: 24px;
text-align: center;
}
এখানে h1
হলো সিলেক্টর, আর {color: blue; font-size: 24px; text-align: center;}
হলো ডিক্লারেশন ব্লক, যেখানে বিভিন্ন প্রোপার্টি এবং তাদের মান দেওয়া হয়েছে।
Inline CSS এর ক্ষেত্রে HTML এলিমেন্টের মধ্যে style
অ্যাট্রিবিউট ব্যবহার করে CSS কোড সরাসরি লিখা হয়। এটি ছোট স্কেল স্টাইলিং এর জন্য উপযুক্ত, কিন্তু বড় প্রোজেক্টে এটি ব্যবহারের পরামর্শ দেওয়া হয় না।
<h1 style="color: red; font-size: 30px;">This is an Inline CSS</h1>
Internal CSS এর ক্ষেত্রে HTML পেজের <head>
ট্যাগের মধ্যে <style>
ট্যাগ ব্যবহার করে CSS কোড লেখা হয়।
<head>
<style>
h1 {
color: green;
font-size: 28px;
}
</style>
</head>
External CSS হলো আলাদা একটি .css
ফাইল ব্যবহার করে CSS কোড লেখা। এই ফাইলটি HTML ডকুমেন্টের সাথে লিঙ্ক করে যুক্ত করা হয়।
CSS ফাইল: style.css
h1 {
color: purple;
font-size: 32px;
}
HTML ফাইল:
<head>
<link rel="stylesheet" href="style.css">
</head>
CSS এ বিভিন্ন সিলেক্টর ব্যবহার করে HTML এলিমেন্টগুলো সিলেক্ট করা হয়। সিলেক্টরগুলো বিভিন্নভাবে কাজ করে, যেমন:
Element Selector: সরাসরি HTML এলিমেন্ট সিলেক্ট করে।
p { color: blue; }
Class Selector: .classname
ব্যবহার করে সিলেক্ট করা হয়।
.button {
background-color: green;
}
ID Selector: #idname
ব্যবহার করে সিলেক্ট করা হয়।
#header {
text-align: center;
}
Pseudo-Selectors: :hover
, :focus
, :first-child
ইত্যাদি ব্যবহার করে এলিমেন্টের বিভিন্ন অবস্থা সিলেক্ট করা যায়।
a:hover {
color: red;
}
Flexbox CSS এর একটি লেআউট মডেল যা flex container এবং flex items এর মাধ্যমে কনটেন্টের ফ্লো, অ্যালাইনমেন্ট, এবং ডিস্ট্রিবিউশন কন্ট্রোল করে।
.container {
display: flex;
justify-content: space-between;
}
CSS গ্রিড একটি শক্তিশালী লেআউট সিস্টেম যা দুই-ডাইমেনশনাল লেআউট তৈরি করতে সহায়ক।
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
CSS এর position প্রপার্টি এলিমেন্টের অবস্থান নির্ধারণ করতে ব্যবহার করা হয়। এর বিভিন্ন মান রয়েছে যেমন static
, relative
, absolute
, এবং fixed
।
.box {
position: absolute;
top: 50px;
left: 20px;
}
CSS এর মাধ্যমে রেসপন্সিভ ডিজাইন তৈরি করতে মিডিয়া কুয়েরি ব্যবহার করা হয়, যা বিভিন্ন স্ক্রিন সাইজের জন্য আলাদা লেআউট তৈরি করতে সহায়ক।
@media screen and (max-width: 768px) {
body {
background-color: lightblue;
}
}
কনটেন্ট এবং স্টাইল আলাদা করা:
রিসুয়েজেবল কোড:
Responsive Design Support:
ডিজাইন এবং স্টাইলিং সহজ:
ব্রাউজার কম্প্যাটিবিলিটি:
কোড জটিলতা:
Debugging Complexity:
CSS হলো ওয়েব ডেভেলপমেন্টের একটি অপরিহার্য টুল, যা HTML কনটেন্টকে সুন্দর এবং প্রফেশনালভাবে উপস্থাপন করতে সাহায্য করে। CSS এর মাধ্যমে ওয়েবসাইটের স্টাইলিং এবং রেসপন্সিভ ডিজাইন সহজে করা যায়। এটি ফ্লেক্সিবল এবং কাস্টমাইজযোগ্য হওয়ায়, ছোট থেকে বড় যেকোনো ধরনের ওয়েব প্রজেক্টে CSS একটি শক্তিশালী ভূমিকা পালন করে।